Get red and blue in place.
authorMatthias Clasen <mclasen@redhat.com>
Wed, 15 Jun 2005 21:22:54 +0000 (21:22 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 15 Jun 2005 21:22:54 +0000 (21:22 +0000)
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
red and blue in place.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gdk/x11/gdkcursor-x11.c

index 38c5322849572017bcd73953fe535f7d49c0dab6..646f1fa4a57d1ea5656a7b11f8ce80dec44ef805 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-06-15  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
+       red and blue in place.
+
        * gtk/gtkwindow.c (gtk_window_parse_geometry): Fox doc
        formatting, pointed out by Kjartan Maraas.
 
index 38c5322849572017bcd73953fe535f7d49c0dab6..646f1fa4a57d1ea5656a7b11f8ce80dec44ef805 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-15  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
+       red and blue in place.
+
        * gtk/gtkwindow.c (gtk_window_parse_geometry): Fox doc
        formatting, pointed out by Kjartan Maraas.
 
index 38c5322849572017bcd73953fe535f7d49c0dab6..646f1fa4a57d1ea5656a7b11f8ce80dec44ef805 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-15  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
+       red and blue in place.
+
        * gtk/gtkwindow.c (gtk_window_parse_geometry): Fox doc
        formatting, pointed out by Kjartan Maraas.
 
index 69a2b49892549745894078bb2ab81e53fc33b7b3..33609daf6ab8adfe25af43842e1a4c804e0363a3 100644 (file)
@@ -337,7 +337,7 @@ gdk_cursor_get_image (GdkCursor *cursor)
   XcursorImage *image;
   gint size;
   gchar buf[32];
-  guchar *data;
+  guchar *data, *p, tmp;
   GdkPixbuf *pixbuf;
   gchar *theme;
   
@@ -366,6 +366,13 @@ gdk_cursor_get_image (GdkCursor *cursor)
   data = g_malloc (4 * image->width * image->height);
   memcpy (data, image->pixels, 4 * image->width * image->height);
 
+  for (p = data; p < data + (4 * image->width * image->height); p += 4)
+    {
+      tmp = p[0];
+      p[0] = p[2];
+      p[2] = tmp;
+    }
+
   pixbuf = gdk_pixbuf_new_from_data (data, GDK_COLORSPACE_RGB, TRUE,
                                     8, image->width, image->height,
                                     4 * image->width,